package com.sg.dto.biz.component.req;

import com.sg.dto.biz.component.common.ConfItemResultDto;
import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @desc AddConfItemResultComReqDto
 * @使用场景
 */
@Data
public class AddConfItemResultComReqDto
        extends BaseDto
        implements Serializable {

    @ApiModelProperty("方案下选项配置结果列表")
    private List<ConfItemResultDto> confItemResultList = new ArrayList<>();

    /**
     * 是否首次答案 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否首次答案")
    private String isUltrResult;

    /**
     * 是否标准答案 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否标准答案不能为空")
    @ApiModelProperty("是否标准答案")
    private String isPlatData;

    /**
     * 是否定制结果 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否定制结果不能为空")
    @ApiModelProperty("是否定制结果")
    private String isCeResult;

    /**
     * 配置项关系ID
     */
    @NotNull(message = "配置项关系ID不能为空")
    @ApiModelProperty("配置项关系ID")
    private String classConfItemId;

    /**
     * 开通对象使用关系ID
     */
    @ApiModelProperty("开通对象使用关系ID")
    private String applexRelId;

    /**
     * 开通对象ID
     */
    @ApiModelProperty("开通对象ID")
    private String resultAspObjId;

    /**
     * 开通钥匙ID
     */
    @ApiModelProperty("开通钥匙ID")
    private String schOpenRecordId;

    /**
     * 开通钥匙类型标识
     */
    @ApiModelProperty("开通钥匙类型标识")
    private String authorizationKeyTypeCode;

    /**
     * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
     */
    @NotNull(message = "主体生命周期不能为空")
    @ApiModelProperty("主体生命周期")
    private String subjectLifeCycle;

}
